Multi-gesture media recording system

ABSTRACT

A computer implemented method and system for recording media data such as audio data in one or more communication modes based on gestures on a graphical user interface (GUI) of an electronic device is provided. A gesture based media recording application (GBMRA) provided on the electronic device defines multiple interface regions on the GUI. The GBMRA detects a gesture on an interface region and performs a first action associated with recording of the media data in a communication mode. The GBMRA detects another gesture on the same interface region or another interface region and performs a second action. The first action and the second action include at least one of triggering recording of the media data, switching from one communication mode to another for recording the media data, canceling recording of the media data, generating and displaying multiple options for performing an operation associated with the recorded media data, etc.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation application of non-provisional patentapplication Ser. No. 17/700,506, titled “Multi-gesture Media RecordingSystem”, filed in the United States Patent and Trademark Office on Mar.22, 2022, which is a continuation application of non-provisional patentapplication Ser. No. 17/117,114, titled “Multi-gesture Media RecordingSystem”, filed in the United States Patent and Trademark Office on Dec.10, 2020, now U.S. patent Ser. No. 11/294,562B2, which is a continuationapplication of non-provisional patent application Ser. No. 16/735,730,titled “Multi-gesture Media Recording System”, filed in the UnitedStates Patent and Trademark Office on Jan. 7, 2020, now U.S. patent Ser.No. 10/884,609B2, which is a continuation application of non-provisionalpatent application Ser. No. 14/051,735, titled “Multi-gesture MediaRecording System”, filed in the United States Patent and TrademarkOffice on Oct. 11, 2013, now U.S. patent Ser. No. 10/552,030B2, whichclaims benefit of provisional patent application No. 61/713,635 titled“Multi-gesture Audio Recording System”, filed in the United StatesPatent and Trademark Office on Oct. 15, 2012.

The specifications of the above referenced patent applications areincorporated herein by reference in their entirety.

BACKGROUND

Prior to the age of smart phones and mobile tablets, the need forrecording media data, for example, audio data, video data, or any othermedia data in the form of a message, a media clip, etc., while on themove was not high. One method to record, for example, audio data was tomake a phone call, speak on the phone, and record a user's voice on theother end of the line, for example, when using answering machines andvoicemails, or when speaking on a recorded line. However, as technologydeveloped and electronic devices such as smart phones, tablets, etc.,became popular, mobile applications for recording audio data and othermedia data on such electronic devices gained popularity. For example,multiple communication modes such as a push to talk (PTT) communicationmode, a tap to start (TTS) communication mode, a release to record (RTR)communication mode, a release to stop (RTS) communication mode, a tap toend (TTE) communication mode, etc., were developed for recording audiodata.

In the push to talk (PTT) communication mode, a user presses or pushesand holds a button on an electronic device, for example, a mobile phone,or taps on an icon on a graphical user interface (GUI) of the electronicdevice and keeps the button or icon pressed. The user records media datawhile the button is pushed down or pressed. The recording of the mediadata continues as long as the button is held or pressed. When the buttonis released, the recording stops. Upon release of the button, a recorderof the electronic device terminates the recording of the media data,saves the recorded media data, for example, in the form of a media clip,a media message, etc., and stores the recorded media data on theelectronic device, or sends the recorded media data to a network or toanother electronic device. This PTT communication mode provides the userwith one click easy method to record short media data.

The tap to start (TTS) communication mode requires a user to first clickon a start button or an initiation button on the electronic device tostart the recording process. In this case, the user clicks, that is,taps and releases the button, at which time a recorder of the electronicdevice initiates recording of the media data. The user then has to tapon a stop button on the electronic device to stop the recording. Aftertapping on the stop button, the recorder terminates the recording andsaves the recorded media data. There is also a variation of the TTScommunication mode, where a user is not required to click the stopbutton on the electronic device. Instead, the electronic device performsa voice activity detection to determine when the user has stoppedspeaking, and at this time the electronic device automaticallyterminates the recording of the media data and saves the media data.

After initiating recording of media data, the release to record (RTR)communication mode allows a user to release the initiation button on theelectronic device to continue the recording process. In the RTRcommunication mode, the user can either keep the button held whilerecording or can release the button to continue recording. A user canswitch from one mode of recording to another by releasing the button.The tap to end (TTE) communication mode is triggered after the userreleases the button, and the recording process is then in progress, andthe user can terminate the recording by tapping on the button. In thiscase, the user has to tap on a stop button on the electronic device toterminate the recording. After tapping on the stop button, the recorderterminates the recording of the media data and saves the recorded mediadata. In the release to stop (RTS) communication mode, the user isrequired to release the button on the electronic device to stop orterminate the recording process. In the RTS communication mode, the usercan either keep the button pressed to continue recording or can releasethe button to stop recording.

The push to talk (PTT) communication mode allows a user to record shortmedia data quickly, with a single press of a button on the electronicdevice, that is, all the user is required to do is press the button andthen release the button. However, in the PTT communication mode, theuser finds it difficult to record lengthy media data. The user is forcedto interact with the electronic device throughout the recording of themedia data, which makes the process for recording lengthy media datainconvenient. While recording a long media message, the user's fingermay inadvertently slip off the “push to talk” button on the electronicdevice, which would indicate to the electronic device that the userwants to terminate the recording, thereby causing the electronic deviceto abruptly terminate the recording of the media message even though theuser intended to continue recording the media message. It is also notfeasible for a user, while pressing a button, to place a smart phone athis/her ear to speak, forcing him/her to use a speakerphone.

Moreover, the above mentioned models for recording media data do notoffer a method for the user to cancel the recording once begun, orperform any other action such as switching from one communication modeto another communication mode, unless the graphical user interfaceprovides an additional user interaction option, after the recording iscompleted, that would request the user whether he/she would like to saveor cancel the last recording, or perform any other action. Such aninteraction makes it inconvenient for the user to record the media databecause such an interaction adds one additional, typically unnecessarystep, to record the media data.

Hence, there is a long felt but unresolved need for a computerimplemented method and system that records media data in one or morecommunication modes based on a user's gestures on a graphical userinterface of the user's electronic device, while allowing the user toswitch between the communication modes for recording the media data, orto cancel recording of the media data, or to perform any other actionassociated with the media data at any time during and/or after therecording of the media data.

SUMMARY OF THE INVENTION

This summary is provided to introduce a selection of concepts in asimplified form that are further disclosed in the detailed descriptionof the invention. This summary is not intended to identify key oressential inventive concepts of the claimed subject matter, nor is itintended for determining the scope of the claimed subject matter.

The computer implemented method and system disclosed herein addressesthe above stated needs for recording media data in one or more ofmultiple communication modes based on one or more gestures of a user ona graphical user interface (GUI) of the user's electronic device, whileallowing the user to switch between the communication modes forrecording the media data, or to cancel recording of the media data, orto perform any other action associated with the media data at any timeduring and/or after the recording of the media data. As used herein, theterm “media data” refers to a stored form of media, for example, sounds,images, videos, etc., produced and recorded for the purpose of audiblylistening to a reproduction of those sounds or for the purpose ofviewing a reproduction of those images, videos, etc. The media datacomprises, for example, audio data, or video data, or audiovisual data,or image data, or multimedia data, etc., or any combination thereof. Themedia data can be stored, for example, as a media clip, a media message,etc., or in any digital format. Also, as used herein, the term “mediamessage” refers to a message that can be recorded on a user's electronicdevice, for example, a cellular phone, a smart phone, a tablet computingdevice, a personal digital assistant, a laptop, a touch centric device,a digital camera, a television, a car, a gaming console, etc., or anyother mobile device configured for communication. The media message is,for example, an audio message, or a video message, or an audiovisualmessage, or a picture message, or a multimedia message, etc., or anycombination thereof. Also, as used herein, the term “communication mode”refers to a mode for initiating, continuing, and/or terminatingrecording of media data on an electronic device. The communication modescomprise, for example, a push to talk (PTT) communication mode, a tap tostart (TTS) communication mode, a release to record (RTR) communicationmode, a release to stop (RTS) communication mode, a tap to end (TTE)communication mode, etc. Also, as used herein, the term “gesture” refersto a user action or an actuation by a user performed manually, forexample, by use of a finger, a thumb, a hand, etc., on the GUI, or byusing an input device, for example, a physical button, a computer mouse,a pointing device, a light pen, a touch pad, a touch sensitive displaydevice, a track ball, a pointing stick, any device capable of sensing atactile input, etc.

The computer implemented method and system disclosed herein provides agesture based media recording application, hereafter referred to as a“media recording application”, executable by at least one processorconfigured to manage the GUI of the electronic device and actionsassociated with the recording of the media data in one or morecommunication modes on the electronic device. The media recordingapplication defines multiple interface regions on the GUI of theelectronic device. As used herein, the term “interface region” refers toan area provided on the GUI of an electronic device that enablesinterfacing and interactions with a user of the electronic device. Themedia recording application associates a predefined function frommultiple predefined functions with each of the defined interface regionson the GUI. The predefined functions comprise, for example, record mediadata using a push to talk communication mode, record media data using atap to start communication mode, record media data using a release torecord communication mode, stop or terminate the recording of media datausing a release to stop communication mode or a tap to end communicationmode, stream the media data to a server via a network during or afterthe recording process, or at predefined intervals after initiation ofthe recording process, cancel a media recording, etc. In an embodiment,the media recording application dynamically changes the predefinedfunction associated with one of the defined interface regions to anotherpredefined function based on one or more communication modes and userpreferences. In another embodiment, the media recording applicationconfigures predefined functions for one or more of the defined interfaceregions based on user preferences.

The media recording application detects one of several gestures on oneof the defined interface regions. The gestures comprise, for example, adrag and drop gesture, a click gesture, a double click gesture, a clickand hold gesture, a tap gesture, a tap and hold gesture, a hold andswipe gesture, a touch gesture, a slide gesture, a glide gesture, ascrolling gesture, etc., or any combination thereof. The media recordingapplication performs a first action associated with the recording of themedia data in one of the communication modes on detection of a gestureon one of the defined interface regions. The media recording applicationthen detects another gesture on the same defined interface region or onanother one of the defined interface regions. The media recordingapplication performs a second action in response to the detection of theother gesture on the same or other defined interface region. In anembodiment, the second action is the same as the first action. Inanother embodiment, the second action is different from the firstaction. The first action and the second action performed by the mediarecording application comprise at least one of, for example, triggeringrecording of the media data, switching from one of the communicationmodes to another one of the communication modes for recording the mediadata, canceling the recording of the media data, generating anddisplaying multiple options for performing an operation associated withthe recorded media data, etc. In an embodiment, the media recordingapplication streams the media data to a server via a network, forexample, the internet, as the recording happens, or at predefined timeintervals after initiation of the recording of the media data, or aftercompletion of the recording of the media data.

Also, disclosed herein is a computer implemented method and system forrecording audio data in one or more of multiple communication modesbased on one or more gestures on the GUI of the electronic device. Asused herein, the term “audio data” refers to a stored form of one ormore sounds produced and recorded for the purpose of audibly listeningto a reproduction of those sounds. The audio data comprises, forexample, analog and digitally coded sound, music, a musical composition,a song, live speech, broadcasted speech, voice information, etc., thatcan be stored, for example, as an audio clip, an audio message, etc., orin any digital format. In an embodiment, the gesture based mediarecording application disclosed above is configured as a gesture basedaudio recording application, hereafter referred to as an “audiorecording application”. The audio recording application defines multipleinterface regions on the GUI and detects a gesture on one of the definedinterface regions. The audio recording application performs a firstaction associated with the recording of the audio data in one of thecommunication modes on detection of a gesture on one of the definedinterface regions. For example, the audio recording application triggersrecording of the audio data in one of the communication modes ondetection of a gesture on one of the defined interface regions.

The audio recording application detects another gesture on the same oranother one of the defined interface regions. The audio recordingapplication then performs another action in response to the detection ofthe other gesture on the same or the other defined interface region. Theaction performed by the audio recording application comprises, forexample, switching from one of the communication modes to another one ofthe communication modes for recording the audio data in the othercommunication mode, canceling the recording of the audio data in one ofthe communication modes, generating and displaying multiple options forperforming an operation associated with the recorded audio data, etc. Inan embodiment, the audio recording application streams the audio data tothe server via the network either continuously while recording the audiodata, or at predefined time intervals after initiation of the recordingof the audio data, or after completion of the recording of the audiodata.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing summary, as well as the following detailed description ofthe invention, is better understood when read in conjunction with theappended drawings. For the purpose of illustrating the invention,exemplary constructions of the invention are shown in the drawings.However, the invention is not limited to the specific methods andcomponents disclosed herein.

FIG. 1 illustrates a computer implemented method for recording mediadata in one or more of multiple communication modes based on one or moregestures on a graphical user interface of an electronic device.

FIG. 2A illustrates a computer implemented method for recording audiodata in one or more of multiple communication modes based on one or moregestures on a graphical user interface of an electronic device.

FIG. 2B illustrates an embodiment of the computer implemented method forrecording audio data in one or more of multiple communication modesbased on one or more gestures on a graphical user interface of anelectronic device.

FIGS. 3A-3D exemplarily illustrate two interface regions defined on agraphical user interface of an electronic device and associated withpredefined functions.

FIGS. 4A-4D exemplarily illustrate three interface regions defined on agraphical user interface of an electronic device and associated withpredefined functions.

FIG. 5 exemplarily illustrates a list of predefined functions providedby a gesture based media recording application for configuring interfaceregions on a graphical user interface of an electronic device based onuser preferences.

FIGS. 6A-6E exemplarily illustrate three interface regions defined on agraphical user interface of an electronic device and associated withpredefined functions for performing an action associated with recordingof media data.

FIG. 7 exemplarily illustrates multiple options provided by the gesturebased media recording application for performing an action associatedwith recorded media data.

FIG. 8 illustrates a computer implemented system for recording mediadata in one or more of multiple communication modes based on one or moregestures on a graphical user interface of an electronic device.

FIG. 9 exemplarily illustrates the architecture of a computer systememployed by the gesture based media recording application for managing agraphical user interface of an electronic device and actions associatedwith recording media data in one or more of multiple communicationmodes.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 1 illustrates a computer implemented method for recording mediadata in one or more of multiple communication modes based on one or moregestures on a graphical user interface (GUI) of an electronic device. Asused herein, the term “media data” refers to a stored form of media, forexample, sounds, images, videos, etc., produced and recorded for thepurpose of audibly listening to a reproduction of those sounds or forthe purpose of viewing a reproduction of those images, videos, etc. Themedia data comprises, for example, audio data such as analog anddigitally coded sound, music, a musical composition, a song, livespeech, broadcasted speech, voice information, etc., that can be stored,for example, as an audio clip, an audio message, etc., or in any digitalformat, or video data such as still images, moving images, graphics,animations, live video, broadcasted video, video information,interactivity content forms, rich media, etc., that can be stored, forexample, as a video clip, a video message, etc., or in any digitalformat, or audiovisual data, or image data, or multimedia data, etc., orany combination thereof. The media data can be stored, for example, as amedia clip, a media message, etc., or in any digital format. Theelectronic device may be used for transmitting the recorded media datato another electronic device via a network, for example, a mobilecommunication network. Also, as used herein, the term “media message”refers to a message that can be recorded on a user's electronic device,for example, a cellular phone, a smart phone, a tablet computing device,an Ultrabook®, a laptop, a personal digital assistant, a touch centricdevice, a digital camera, a television, a car, a gaming console, etc.,or any other mobile device configured for communication. The mediamessage is, for example, an audio message, or a video message, or anaudiovisual message, or a picture message, or a multimedia message,etc., or any combination thereof.

Also, as used herein, the term “communication mode” refers to a mode forinitiating, continuing, and/or terminating recording of media data on anelectronic device. The communication mode can be, for example, a push totalk (PTT) communication mode, a tap to start (TTS) communication mode,a release to record (RTR) communication mode, a release to stop (RTS)communication mode, a tap to end (TTE) communication mode, etc. Also, asused herein, the term “gesture” refers to a user action or an actuationby a user performed manually, for example, by use of a finger, a thumb,a hand, etc., on the GUI, or by using an input device, for example, aphysical button, a computer mouse, a pointing device, a light pen, atouch pad, a touch sensitive display device, a track ball, a pointingstick, any device capable of sensing a tactile input, etc. The gesturescomprise, for example, a drag and drop gesture, a click gesture, adouble click gesture, a click and hold gesture, a tap gesture, a tap andhold gesture, a hold and swipe gesture, a touch gesture, a slidegesture, a glide gesture, a scrolling gesture, etc., or any combinationthereof.

In the push to talk communication mode, a user is expected to engage aninterface element for the entire duration of recording of the mediadata. That is, the recording initiates as soon as the user activates aninterface element and terminates only when the user releases theinterface element. As used herein, the term “interface element” refersto any software or hardware implemented switch or button, for example, aphysical push button, a touch button or a tactile button, a screen icontype touch button, a wheel, a touch pad, etc., capable of receiving aninput from a user or capturing an application of pressure from the user.In the tap to start communication mode, the user is expected to activatethe interface element for a short time, which initiates the recording ofthe media data, then release the interface element, then speak, and thenactivate the interface element a second time to terminate the recordingof the media data. In the release to record communication mode, afteractivation of the interface element, which initiates the recording ofthe media data, the user can either keep the interface element activatedwhile recording or can release the interface element to continuerecording. In the release to stop communication mode, the user caneither keep the interface element activated to continue recording or canrelease the interface element to stop or terminate the recording. In thetap to end communication mode, the user is expected to activate or tapthe interface element to terminate recording of the media data.

The computer implemented method disclosed herein provides 101 a gesturebased media recording application, hereafter referred to as a “mediarecording application”, executable by at least one processor configuredto manage the GUI of the electronic device and actions associated withthe recording of the media data in one or more communication modes onthe electronic device. The media recording application manages anyaction associated with the recording of the media data regardless of howthe recording of the media data is initiated. Once the user initiatesrecording the media data through any method, the media recordingapplication enables the user to change the mode of recording or performany operation on the media data. In addition to triggering of recordingof the media data, the media recording application manages switching ofthe communication mode or cancelation of the recording, for example, ina push to talk communication mode or a tap to start communication mode.The media recording application defines 102 multiple interface regionson the GUI of the electronic device. As used herein, the term “interfaceregion” refers to an area provided on the GUI of the electronic devicethat enables interfacing and interactions with a user of the electronicdevice. The interface regions on the GUI comprise, for example, softwareimplemented icons, buttons, switches, sliders, menus, menu items, etc.,on the GUI. In an embodiment, the interface regions are defined by anapplication designer during application development. For example, theapplication designer defines a button, a switch, a slider, etc., by animage on a screen or the GUI.

The media recording application dynamically or statistically associatesa predefined function from a set of predefined functions with each ofthe defined interface regions on the GUI. The predefined functions aretasks or a series of tasks executed by the electronic device. Forexample, the predefined functions comprise recording media data using apush to talk communication mode, recording media data using a tap tostart communication mode, recording media data using a release to recordcommunication mode, stopping or terminating recording of the media datausing a release to stop communication mode or a tap to end communicationmode, streaming the media data to a server via a network during or afterthe recording process, or at predefined intervals after initiation ofthe recording process, canceling a media recording, launching a programstored on the electronic device, initializing a peripheral device on theelectronic device, sending out requests to a network resource, changinga GUI configuration, etc.

In an embodiment, the media recording application dynamically changesthe predefined function associated with one of the defined interfaceregions to another one of the predefined functions based on the activecommunication mode and user preferences. The media recording applicationdynamically changes the predefined functions, for example, by analyzingthe frequently used predefined functions, tracking the sequence ofevents up to the current state, providing a settings menu for the userto manually select the predefined functions that the user prefers, etc.For example, if the predefined function associated with one of thedefined interface regions is “record media data using a push to talkcommunication mode”, after the media recording application detects agesture on that defined interface region, the media recordingapplication dynamically changes the predefined function of that definedinterface region to “stop recording the media data” using a “release andstop” indicator on that defined interface region, or to “send therecorded media data to a recipient” using a “release and send” indicatoron that defined interface region, to indicate that the user can completethe recording by lifting his/her finger. In an embodiment, the mediarecording application allows a user to configure the predefinedfunctions for one or more defined interface regions based on the user'spreferences, for example, to cancel the recording, push to talk, releaseto record, release to stop, switch the recording mode, add an effect,etc.

In an example, if a user's first gesture is a tap gesture on aninterface region defined and marked by an icon on the GUI of the user'selectronic device, the media recording application launches a program.If a user performs a press and a hold gesture on the interface region,the media recording application changes the predefined functionassociated with each of the defined interface regions in theneighborhood of the icon. The change in the predefined function may bebased on the communication modes and user preferences. The change in thepredefined function provides the user with various options related tothe launched program. A second gesture on the same interface region oron any one of the defined interface regions in the neighborhood of thesame interface region where the first gesture was detected by the usercauses another action to take place.

In the method disclosed herein, the media recording application detects103 a gesture on one of the defined interface regions. The mediarecording application performs 104 a first action associated with therecording of the media data in one of the communication modes ondetection of the first gesture on one of the defined interface regions.The media recording application then detects 105 another gesture on thesame defined interface region or on another one of the defined interfaceregions, after detection of the first gesture. The other gesture may bethe same as the first gesture or a different gesture. The mediarecording application performs 106 a second action in response to thedetection of the other gesture on the same defined interface region orthe other defined interface region. In an embodiment, the second actionis the same as the first action. In another embodiment, the secondaction is different from the first action. The first action and thesecond action performed by the media recording application in responseto the detection of the gestures comprise at least one of, for example,triggering recording of the media data, switching from one communicationmode to another communication mode for recording the media data,canceling the recording of the media data as disclosed in the detaileddescription of FIGS. 3A-3D and FIGS. 4A-4D, or generating and displayingmultiple options for performing an operation associated with therecorded media data as disclosed in the detailed description of FIG. 7 .The options comprise, for example, saving the recorded media datawithout sending, saving the recorded media data as a draft for a futureuse of the recorded media data, saving the recorded media data forsending the recorded media data to another electronic device, deletingthe recorded media data, etc. The media recording application detectsmultiple gestures on different interface regions on the GUI andaccordingly performs the predefined functions associated with theinterface regions and, in an embodiment, dynamically changes theassociated predefined functions.

In an embodiment, the media recording application streams the media datato a server via a network, for example, the internet, a mobilecommunication network, etc., as the media data is being recorded. Forexample, during a live recording, the media recording applicationstreams the media data to the server while the recording is going on. Inanother embodiment, the media recording application transfers the mediadata during the recording of the media data to a server via the networkat predefined time intervals after initiation of the recording of themedia data. For example, during a live recording, the media recordingapplication first records the media data for about 3 seconds into a fileand then transfers the recorded media data to the server via the networkwhile still continuing to record. The media recording application thenstreams the next 3 seconds of the recorded media data to the server, andso on, until the completion of the live recording. In anotherembodiment, the media recording application records the entire mediadata locally, and then transmits a completely recorded media data fileto the server via the network.

For purposes of illustration, the detailed description refers torecording of audio data; however the scope of the computer implementedmethod and system disclosed herein is not limited to recording of audiodata but may be extended to include recording of video data, forexample, in the form of a video message or a video clip, audiovisualdata, image data, multimedia data, etc., or any combination thereof.

FIG. 2A illustrates a computer implemented method for recording audiodata in one or more of multiple communication modes based on one or moregestures on a graphical user interface (GUI) of an electronic device. Inan embodiment, the gesture based media recording application disclosedin the detailed description of FIG. 1 , is configured as a gesture basedaudio recording application, herein referred to as an “audio recordingapplication”. The computer implemented method disclosed herein provides201 the audio recording application executable by at least one processorconfigured to manage the GUI of the electronic device and actionsassociated with the recording of audio data in one or more of thecommunication modes on the electronic device. As used herein, the term“audio data” refers to a stored form of one or more sounds produced andrecorded for the purpose of audibly listening to a reproduction of thosesounds. The audio data comprises, for example, analog and digitallycoded sound, music, a musical composition, a song, live speech,broadcasted speech, voice information, etc., that can be stored, forexample, as an audio clip, an audio message, etc., or in any digitalformat.

The audio recording application defines 102 multiple interface regionson the GUI of the electronic device and associates a predefined functionfrom multiple predefined functions with each of the defined interfaceregions on the GUI. The audio recording application detects 103 agesture on one of the defined interface regions. The audio recordingapplication performs 202 a first action associated with the recording ofthe audio data in one of the communication modes on detection of thefirst gesture on one of the defined interface regions. The audiorecording application then detects 105 another gesture on the samedefined interface region or on another one of the defined interfaceregions, after detection of the first gesture. The audio recordingapplication performs 203 a second action in response to the detection ofthe other gesture on the same defined interface region or on the otherdefined interface region. In an embodiment, the second action is thesame as the first action. In another embodiment, the second action isdifferent from the first action. The first action and the second actionperformed by the audio recording application in response to thedetection of the gestures comprise, for example, triggering recording ofthe audio data, switching from one communication mode to anothercommunication mode for recording the audio data, canceling the recordingof the audio data as disclosed in the detailed description of FIGS.3A-3D and FIGS. 4A-4D, or generating and displaying multiple options forperforming an operation associated with the recorded audio data asdisclosed in the detailed description of FIG. 7 . The audio recordingapplication dynamically changes and configures the predefined functionsassociated with the defined interface regions on the GUI based on one ormore of the communication modes and user preferences as disclosed in thedetailed description of FIG. 1 . In an embodiment, the audio recordingapplication streams the audio data to the server via the networkcontinuously while recording the audio data, or at predefined timeintervals after initiation of the recording of the audio data, or aftercompletion of the recording of the audio data.

FIG. 2B illustrates an embodiment of the computer implemented method forrecording audio data in one or more of multiple communication modesbased on one or more gestures on a graphical user interface (GUI) of anelectronic device. The computer implemented method comprises the steps201, 102, and 103 as disclosed in the detailed description of FIG. 2A.In this embodiment, the audio recording application triggers 202 arecording of the audio data in one of the communication modes ondetection of the first gesture on one of the defined interface regions.The audio recording application detects 105 another gesture on the samedefined interface region or on another defined interface region andperforms 203 an action in response to the detection of the other gestureon the same defined interface region or the other defined interfaceregion. The action performed by the audio recording application inresponse to the detection of the other gesture comprises, for example,switching from one communication mode to another communication mode forrecording the audio data in the other communication mode, canceling therecording of the audio data in one of the communication modes, orgenerating and displaying multiple options for performing an operationassociated with the recorded audio data.

FIGS. 3A-3D exemplarily illustrate two interface regions 301 defined ona graphical user interface (GUI) 302 of an electronic device 303 andassociated with predefined functions. The electronic device 303 is, forexample, a mobile communication device with a touch sensitive display.The electronic device 303 is capable of recording and storing mediadata, for example, audio data. In this example, the communication modefor recording the audio data is, for example, a push to talk (PTT)communication mode. In the push to talk communication mode, a user isexpected to press and hold an interface region 301 b of the mobileelectronic device 303 for recording the audio data. The recording of theaudio data continues as long as the interface region 301 b is held. Themedia recording application configured as an audio recording applicationallows the user to perform an action, for example, cancel the audio databeing recorded, delete the recorded audio data, change the communicationmode for recording the audio data, save the recorded audio data as adraft, etc., without having to go through various dialogs and/or menusto perform an action after and/or during recording of the audio data.The audio recording application provides the user with the flexibilityto switch between the communication modes while the audio data is beingrecorded, cancel the recording of the audio data, and/or generate anddisplay multiple options for performing an operation associated with therecorded audio data.

Consider an example where a user wishes to cancel recording of audiodata on the mobile electronic device 303. The audio recordingapplication defines interface regions 301 on the GUI 302 as exemplarilyillustrated in FIGS. 3A-3D. The audio recording application dynamicallyassociates a predefined function of recording the audio data using thepush to talk (PTT) communication mode to the defined interface region301 b as exemplarily illustrated in FIG. 3A. Initially, the definedinterface region 301 a is associated with a null function or has thesame predefined function as that of the defined interface region 301 b.In an example, the user performs a press and hold gesture on theinterface region 301 b. The audio recording application detects theuser's press and hold gesture on the interface region 301 b. In responseto the detection of the press and hold gesture on the interface region301 b, the audio recording application triggers recording of the audiodata. At this point, the audio recording application associates a newpredefined function to the interface regions 301 a and 301 b asexemplarily illustrated in FIG. 3B. The new predefined functionassociated with the interface region 301 a is to cancel and delete thecurrent audio data that is being recorded. The audio recordingapplication changes the predefined function associated with theinterface region 301 b to, for example, “hold to record (HTR)/release tostop (RTS)”, indicating that the user needs to continue holding theinterface region 301 b for recording the audio data and can release theinterface region 301 b to stop recording and save the recorded audiodata.

In this example, the user then performs a slide gesture on the GUI 302.That is, the user drags or slides his/her finger on the GUI 302 from theinterface region 301 b to the interface region 301 a. The audiorecording application detects the user's slide gesture on the GUI 302and highlights the interface region 301 a as exemplarily illustrated inFIG. 3C. When the user lifts or releases his/her finger from theinterface region 301 a, the audio recording application detects theuser's release gesture on the GUI 302. In response to the detection ofthe release gesture, the audio recording application executes thepredefined function associated with the interface region 301 a where therelease gesture was detected. Since the predefined function that wasnewly associated with the interface region 301 a is to cancel and deletethe recorded audio data which is currently being recorded, the audiorecording application executes this predefined function and cancels therecorded audio data as exemplarily illustrated in FIG. 3D. Therefore,the audio recording application allows a user to cancel the recordingbeing made by the user under the push to talk (PTT) communication mode,without being forced to go through another interaction with the GUI 302.

FIGS. 4A-4D exemplarily illustrate three interface regions 301 definedon a graphical user interface (GUI) 302 of an electronic device 303 andassociated with predefined functions. The electronic device 303 is, forexample, a mobile communication device with a touch sensitive display.The electronic device 303 is capable of recording and storing mediadata, for example, audio data. In this example, the communication modesfor recording the audio data are, for example, a push to talk (PTT)communication mode, a release to record (RTR) communication mode, and atap to end (TTE) communication mode. The PTT communication mode isdisclosed in the detailed description of FIGS. 3A-3D. The RTRcommunication mode is convenient for recording lengthy audio data. FIGS.4A-4D exemplarily illustrate switching from the PTT communication modeto the RTR communication mode for recording the audio data.

Consider an example where a user wishes to switch from the push to talk(PTT) communication mode to the release to record (RTR) communicationmode to avoid having to continually press the interface region 301 b forrecording lengthy audio data. The media recording application configuredas an audio recording application defines interface regions 301 a, 301b, and 301 c on the GUI 302 as exemplarily illustrated in FIGS. 4A-4D.The audio recording application dynamically associates the predefinedfunction of recording the audio data in the PTT communication mode tothe interface region 301 b as exemplarily illustrated in FIG. 4A.Initially, the interface regions 301 a and 301 c are associated with anull function or have a similar predefined function as that of thedefined interface region 301 b.

In an example, the user performs a press and hold gesture on theinterface region 301 b. The audio recording application detects thepress and hold gesture on the interface region 301 b. In response to thedetection of the press and hold gesture, the audio recording applicationtriggers recording of the audio data and simultaneously associates newpredefined functions to the interface regions 301 a, 301 b, and 301 c asexemplarily illustrated in FIG. 4B. The new predefined functionassociated with the interface region 301 b is “hold to record(HTR)/release to stop (RTS)”, indicating that the user needs to continueholding the interface region 301 b for recording the audio data and canrelease the button to stop recording or save the recorded audio data.The new predefined function associated with the interface region 301 ais to cancel and delete the current audio data which is being recorded.The new predefined function assigned to the interface region 301 c is torecord the current audio data in the release to record (RTR)communication mode. Although the user initiated the recording of theaudio data in the push to talk (PTT) communication mode by pressing andholding the interface region 301 b, the user realizes that the recordingwill be lengthy, and wishes to continue recording without continuallypressing the interface region 301 b.

The user performs a slide gesture on the GUI 302 to switch from the pushto talk (PTT) communication mode to the release to record (RTR)communication mode. That is, the user slides his/her finger on the GUI302 from the interface region 301 b to the interface region 301 c. Theaudio recording application detects the user's slide gesture on the GUI302 and highlights the interface region 301 c as exemplarily illustratedin FIG. 4C. When the user releases his/her finger from the interfaceregion 301 c, the audio recording application detects the user's releasegesture on the GUI 302. In response to the detection of the releasegesture, the audio recording application executes the predefinedfunction associated with the interface region 301 c where the releasegesture was detected. Since the predefined function that was newlyassociated with the interface region 301 c is to continue recording theaudio data in the RTR communication mode, the audio recordingapplication executes this predefined function and continues recordingthe audio data in the RTR communication mode. In response to the slideand release gesture on the interface region 301 c, the audio recordingapplication dynamically associates a new predefined function indicatedby “tap to end (TTE)” with the interface regions 301 b and 301 c asexemplarily illustrated in FIG. 4D. The user can terminate the recordingof the audio data by tapping on the interface region 301 b or 301 c.Adding an option to switch the communication mode from the PTTcommunication mode to the RTR communication mode is useful if the userrealizes that he/she is getting tired of holding a button midway throughrecording of the audio data.

After the user switches from the push to talk (PTT) communication modeto the release to record (RTR) communication mode, the user may furtheralso cancel recording the audio data in the RTR communication mode bytouching the interface region 301 a. In response to the detection of thetouch gesture on the interface region 301 a, the audio recordingapplication executes the predefined function associated with theinterface region 301 a where the touch gesture was detected. Since thepredefined function that was newly associated with the interface region301 a is to cancel and delete the recorded audio data that is currentlybeing recorded, the audio recording application executes this predefinedfunction and cancels the recorded audio data. In another example, theuser may also switch from the RTR communication mode to the PTTcommunication mode by pressing another interface region, for example,301 b associated with the PTT communication mode. Furthermore, the usermay initiate recording of the audio data in the RTR communication modeand then switch to the PTT communication mode at any time by pressingthe interface region 301 b associated with the PTT communication mode onthe GUI 302.

FIG. 5 exemplarily illustrates a list of predefined functions providedby the media recording application for configuring interface regions 301a, 301 b, and 301 c on a graphical user interface (GUI) 302 of anelectronic device 303 based on user preferences. In an embodiment, themedia recording application allows a user to configure the predefinedfunctions for one or more defined interface regions 301 a, 301 b, and301 c based on the user's preferences for performing multiple actions asdisclosed in the detailed description of FIG. 1 . The predefinedfunctions comprise, for example, tap to start (TTS), push to talk (PTT),release to record (RTR), cancel, etc., as exemplarily illustrated inFIG. 5 . The user can choose what predefined function is to beconfigured with the interface region 301 a and the media recordingapplication associates that particular predefined function with thatinterface region 301 a. Similarly, the user can choose the predefinedfunctions that are to be configured with the other interface regions 301b and 301 c and the media recording application associates thosepredefined functions with the respective interface regions 301 b and 301c. When the media recording application detects gestures on theinterface regions 301 a, 301 b, and 301 c, the media recordingapplication executes the associated predefined functions.

FIGS. 6A-6E exemplarily illustrate three interface regions 301 a, 301 b,and 301 c defined on a graphical user interface (GUI) 302 of anelectronic device 303 and associated with predefined functions forperforming an action associated with recording of media data. The mediarecording application defines interface regions 301 a, 301 b, and 301 con the GUI 302 as exemplarily illustrated in FIGS. 6A-6E. The mediarecording application dynamically associates the predefined function ofrecording the media data in the push to talk (PTT) communication mode tothe interface region 301 b as exemplarily illustrated in FIG. 6A. Themedia recording application detects a press and hold gesture on theinterface region 301 b, triggers recording of the media data, andsimultaneously associates new predefined functions to the interfaceregions 301 a and 301 c as exemplarily illustrated in FIG. 6B. The newpredefined function associated with the interface region 301 c is a linkto view an options menu for performing an operation during the recordingof the media data. The options menu comprises options, for example,switching the recording mode, canceling the recording, adding an effect,etc., as exemplarily illustrated in FIG. 6C. The new predefined functionassociated with the interface region 301 a is to cancel and delete thecurrent media data that is being recorded.

When the user slides his/her finger on the GUI 302 from the interfaceregion 301 b to the interface region 301 c, the media recordingapplication detects the slide gesture on the GUI 302 and highlights theinterface region 301 c as exemplarily illustrated in FIG. 6C. Inresponse to the detection of the slide gesture, the media recordingapplication displays the options menu to the user for selecting anaction associated with the recording. The user can switch the recordingmode, cancel the recording, or add an effect to the media data byselecting one of the options displayed on the GUI 302. Once the optionis selected, the media recording application associates anotherpredefined function to the interface regions 301 a, 301 b, and 301 cdepending on the selected option. For example, the media recordingapplication associates another predefined function indicated by “tap toend (TTE)” with the interface regions 301 a, 301 b, and 301 c to allowthe user to terminate the recording of the media data. If the userselects the option, for example, “switch recording mode” from theoptions menu, the media recording application switches the communicationmode from the push to talk (PTT) communication mode to the TTEcommunication mode. The media recording application continues recordingof the media data in the TTE communication mode as exemplarilyillustrated in FIG. 6D. The user can then tap on any of the interfaceregions 301 a, 301 b, and 301 c to stop the recording as exemplarilyillustrated in FIG. 6E.

FIG. 7 exemplarily illustrates multiple options provided by the mediarecording application for performing an action associated with recordedmedia data. The media recording application generates and displaysmultiple options for performing operations associated with the recordedmedia data. The options comprise, for example, save the recorded mediadata as a note, save the recorded media data as a draft for a future useof the recorded media data, save the recorded media data for sending therecorded media data to another electronic device, send the recordedmedia data to a friend or another user, delete the recorded media data,post the recorded media data on Facebook® of Facebook, Inc., post therecorded media data on Twitter® of Twitter, Inc., post the recordedmedia data on other social networking platforms, etc.

FIG. 8 illustrates a computer implemented system 800 for recording mediadata in one or more of multiple communication modes based on one or moregestures on a graphical user interface (GUI) 302 of an electronic device303. The communication modes comprise, for example, a push to talkcommunication mode, a tap to start communication mode, a release torecord communication mode, a release to stop communication mode, a tapto end communication mode, etc. The electronic device 303 is, forexample, a cellular phone, a smart phone, a tablet computing device, alaptop, a personal digital assistant, a touch centric device, a digitalcamera, a television, a car, a gaming console, etc., or any otherelectronic device configured for communication. The computer implementedsystem 800, also referred to as a “multi-gesture media recordingsystem”, comprises the media recording application 801 deployed on auser's electronic device 303. In an embodiment, the media recordingapplication 801 is configured as an audio recording applicationconfigured to manage the GUI 302 of the electronic device 303 andactions associated with recording of audio data in one or more of thecommunication modes on the electronic device 303. The computerimplemented system 800 disclosed herein further comprises at least oneprocessor 802 and a non-transitory computer readable storage mediumcommunicatively coupled to the processor 802. The processor 802 isconfigured to execute modules 801 a, 801 b, 801 c, 801 d, etc., of themedia recording application 801. The non-transitory computer readablestorage medium is configured to store the modules 801 a, 801 b, 801 c,801 d, etc., of the media recording application 801.

The media recording application 801 manages the GUI 302 of theelectronic device 303 and actions associated with the recording of themedia data in one or more communication modes on the electronic device303. The media recording application 801 comprises an interfacedefinition module 801 a, a detection module 801 b, a media recordingmodule 801 c, and an action management module 801 d. The interfacedefinition module 801 a defines multiple interface regions 301 on theGUI 302 of the electronic device 303 as exemplarily illustrated in FIGS.3A-3D, FIGS. 4A-4D, and FIGS. 6A-6E. The interface definition module 801a further associates a predefined function from multiple predefinedfunctions with each of the defined interface regions 301 on the GUI 302as disclosed in the detailed description of FIGS. 3A-3D and FIGS. 4A-4D.The interface definition module 801 a also dynamically changes thepredefined function associated with one of the defined interface regions301 to another one of the predefined functions based on one or morecommunication modes and user preferences. In an embodiment, theinterface definition module 801 a configures predefined functions forone or more defined interface regions 301 based on the user'spreferences as disclosed in the detailed description of FIG. 5 .

The detection module 801 b detects one of multiple gestures, forexample, a click and hold gesture, a press and hold gesture, a tapgesture, a tap and hold gesture, a touch gesture, a slide gesture, etc.,on one of the defined interface regions 301. The action managementmodule 801 d performs a first action associated with the recording ofthe media data in one of the communication modes, on detection of agesture on one of the defined interface regions 301. The detectionmodule 801 b further detects another gesture on the same one of thedefined interface regions 301 or another one of the defined interfaceregions 301. The action management module 801 d performs a secondaction, in response to the detection of another gesture on the same oneof the defined interface regions 301 or another one of the definedinterface regions 301. The first action and the second action are atleast one of: triggering recording of the media data, switching from onecommunication mode to another communication mode for recording the mediadata; canceling the recording of the media data, generating anddisplaying multiple options for performing an operation associated withthe recorded media data, etc.

In an embodiment, the media recording module 801 c streams the mediadata to a server 804 via a network 803 continuously while recording themedia data, or at predefined time intervals after initiation of therecording of the media data, or after completion of the recording of themedia data. For example, the media recording module 801 c streams audiodata to the server 804 via the network 803 continuously while recordingthe audio data, or at predefined time intervals after initiation of therecording of the audio data, or after completion of the recording of theaudio data. The network 803 is, for example, the internet, an intranet,a wireless network, a communication network that implements Bluetooth®of Bluetooth Sig, Inc., a network that implements Wi-Fi® of the WirelessEthernet Compatibility Alliance, Inc., an ultra-wideband communicationnetwork (UWB), a wireless universal serial bus (USB) communicationnetwork, a communication network that implements ZigBee® of ZigBeeAlliance Corporation, a general packet radio service (GPRS) network, amobile telecommunication network such as a global system for mobile(GSM) communications network, a code division multiple access (CDMA)network, a third generation (3G) mobile communication network, a fourthgeneration (4G) mobile communication network, a long-term evolution(LTE) mobile communication network, an internet connection network, aninfrared communication network, etc., or a network formed from anycombination of these networks.

FIG. 9 exemplarily illustrates the architecture of a computer system 901employed by the media recording application 801 for managing a graphicaluser interface (GUI) 302 of an electronic device 303 and actionsassociated with recording media data in one or more of multiplecommunication modes. The media recording application 801 of the computerimplemented system 800 exemplarily illustrated in FIG. 8 employs thearchitecture of the computer system 901 exemplarily illustrated in FIG.9 . The computer system 901 is programmable using a high level computerprogramming language. The computer system 901 may be implemented usingprogrammed and purposeful hardware. The computer system 901 comprises,for example, a processor 802, a non-transitory computer readable storagemedium such as a memory unit 902 for storing programs and data, aninput/output (I/O) controller 903, a network interface 904, a data bus905, a display unit 906, input devices 907, a fixed media drive 908,output devices 910, etc. The computer system 901 may optionally comprisea removable media drive 909 for receiving removable media.

The processor 802 refers to any one or more microprocessors, centralprocessing unit (CPU) devices, finite state machines, computers,microcontrollers, digital signal processors, logic, a logic device, anelectronic circuit, an application specific integrated circuit (ASIC), afield-programmable gate array (FPGA), a chip, etc., or any combinationthereof, capable of executing computer programs or a series of commands,instructions, or state transitions. The processor 802 may also beimplemented as a processor set comprising, for example, a generalpurpose microprocessor and a math or graphics co-processor. Theprocessor 802 is selected, for example, from the Intel® processors suchas the Itanium® microprocessor or the Pentium® processors, AdvancedMicro Devices (AMD®) processors such as the Athlon® processor,UltraSPARC® processors, microSPARC® processors, Hp® processors,International Business Machines (IBM®) processors such as the PowerPC®microprocessor, the MIPS® reduced instruction set computer (RISC)processor of MIPS Technologies, Inc., RISC based computer processors ofARM Holdings, Motorola® processors, etc. The computer implemented system800 disclosed herein is not limited to a computer system 901 employing aprocessor 802. The computer system 901 may also employ a controller or amicrocontroller.

The memory unit 902 is used for storing programs, applications, anddata. For example, the interface definition module 801 a, the detectionmodule 801 b, the media recording module 801 c, and the actionmanagement module 801 d of the media recording application 801 arestored in the memory unit 902. The memory unit 902 is, for example, arandom access memory (RAM) or another type of dynamic storage devicethat stores information and instructions for execution by the processor802. The memory unit 902 also stores temporary variables and otherintermediate information used during execution of the instructions bythe processor 802. The computer system 901 further comprises a read onlymemory (ROM) or another type of static storage device that stores staticinformation and instructions for the processor 802.

The I/O controller 903 controls input actions and output actionsperformed by the media recording application 801. The network interface904 enables connection of the computer system 901 to a network 803, forexample, the internet, a mobile communication network, etc. For example,the computer system 901 communicates with other interacting devices, forexample, another mobile device (not shown) through the network interface904. In an embodiment, the network interface 904 is provided as aninterface card also referred to as a line card or as a modem. Thenetwork interface 904 comprises, for example, one or more of an infrared(IR) interface, an interface implementing Wi-Fi® of the WirelessEthernet Compatibility Alliance, Inc., a universal serial bus (USB)interface, a FireWire® interface of Apple, Inc., a Bluetooth® interface,an Ethernet interface, a frame relay interface, a cable interface, adigital subscriber line (DSL) interface, a token ring interface, aperipheral controller interconnect (PCI) interface, a local area network(LAN) interface, a wide area network (WAN) interface, interfaces usingserial protocols, interfaces using parallel protocols, and Ethernetcommunication interfaces, asynchronous transfer mode (ATM) interfaces, ahigh-speed serial interface (HSSI), a fiber distributed data interface(FDDI), interfaces based on transmission control protocol (TCP)/internetprotocol (IP), interfaces based on wireless communications technologysuch as satellite technology, radio frequency (RF) technology, nearfield communication, etc. The data bus 905 permits communicationsbetween the GUI 302 and the modules, for example, 801 a, 801 b, 801 c,801 d, etc., of the media recording application 801. The data bus 905also permits communications between the modules, for example, 801 a, 801b, 801 c, 801 d, etc., of the media recording application 801.

The display unit 906, via the GUI 302, displays information, displayinterfaces, interactable interface regions 301 exemplarily illustratedin FIGS. 3A-3D, FIGS. 4A-4D, and FIGS. 6A-6E, such as icons, softwareimplemented buttons, sliders, for example, for allowing a user toperform an action, for example, cancel media data being recorded, deleterecorded media data, change the communication mode for recording themedia data, save the recorded media data as a draft, etc. The displayunit 906 comprises, for example, a liquid crystal display, a plasmadisplay, an organic light emitting diode (OLED) based display, etc. Theinput devices 907 are used for inputting data into the computer system901. The input devices 907 are, for example, a keyboard such as analphanumeric keyboard, a microphone, a joystick, a pointing device suchas a computer mouse, a touch pad, a light pen, a physical button, apointing device, a touch sensitive display device, a track ball, apointing stick, etc. For example, a user inputs a selection of theoptions for performing an operation associated with the recorded mediadata, and/or inputs a configuration of the predefined functions for oneor more of the defined interface regions 301 on the GUI 302 using theinputs devices 907.

Computer applications and programs are used for operating the computersystem 901. In an embodiment, the programs are loaded onto the fixedmedia drive 908 and into the memory unit 902 of the computer system 901via the removable media drive 909. In another embodiment, the computerapplications and programs may be loaded directly via a network 803, forexample, a WiFi® network. Computer applications and programs areexecuted by double clicking a related icon displayed on the display unit906 using one of the input devices 907. The output devices 910 outputthe results of operations performed by the media recording application801, for example, for viewing by a user of the electronic device 303.For example, the media recording application 801 prompts the user toselect an option for performing an operation associated with therecorded media data through a dialog box on an output device 910 such asthe display unit 906 of the electronic device 303.

The processor 802 executes an operating system, for example, the Linux®operating system, the Unix® operating system, any version of theMicrosoft® Windows® operating system, the Mac OS of Apple Inc., the IBM®OS/2, VxWorks® of Wind River Systems, inc., QNX Neutrino® developed byQNX Software Systems Ltd., the Palm OS®, the Solaris operating systemdeveloped by Sun Microsystems, Inc., the Android operating system, theWindows Phone® operating system of Microsoft Corporation, theBlackBerry® operating system of Research in Motion Limited, the iOSoperating system of Apple Inc., the Symbian® operating system of SymbianFoundation Limited, etc. The computer system 901 employs the operatingsystem for performing multiple tasks. The operating system isresponsible for management and coordination of activities and sharing ofresources of the computer system 901. The operating system furthermanages security of the computer system 901, peripheral devicesconnected to the computer system 901, and network connections. Theoperating system employed on the computer system 901 recognizes, forexample, inputs provided by the user using one of the input devices 907,the output display, files, and directories stored locally on the fixedmedia drive 908, for example, a hard drive. The operating system on thecomputer system 901 executes different programs using the processor 802.The processor 802 and the operating system together define a computerplatform for which application programs in high level programminglanguages are written.

The processor 802 retrieves instructions for executing the modules, forexample, 801 a, 801 b, 801 c, 801 d, etc., of the media recordingapplication 801 from the memory unit 902. A program counter determinesthe location of the instructions in the memory unit 902. The programcounter stores a number that identifies the current position in theprogram of each of the modules, for example, 801 a, 801 b, 801 c, 801 d,etc., of the media recording application 801. The instructions fetchedby the processor 802 from the memory unit 902 after being processed aredecoded. The instructions are stored in an instruction register in theprocessor 802. After processing and decoding, the processor 802 executesthe instructions. For example, the interface definition module 801 adefines instructions for defining multiple interface regions 301 on theGUI 302 of the electronic device 303. Furthermore, the interfacedefinition module 801 a defines instructions for associating apredefined function from multiple predefined functions with each of thedefined interface regions 301 on the GUI 302. Furthermore, the interfacedefinition module 801 a defines instructions for dynamically changingthe predefined function associated with one of the defined interfaceregions 301 to another one of the predefined functions based on one ormore communication modes and user preferences. Furthermore, theinterface definition module 801 a defines instructions for configuringpredefined functions for one or more defined interface regions 301 basedon the user's preferences.

The detection module 801 b defines instructions for detecting one ofmultiple gestures on one of the defined interface regions 301. Theaction management module 801 d defines instructions for performing afirst action associated with the recording of the media data in one ofthe communication modes, on detection of a gesture on one of the definedinterface regions 301. Furthermore, the detection module 801 b definesinstructions for detecting another gesture on the same one of thedefined interface regions 301 or another one of the defined interfaceregions 301. The action management module 801 d defines instructions forperforming a second action, in response to the detection of anothergesture on the same one of the defined interface regions 301 or anotherone of the defined interface regions 301. The media recording module 801c defines instructions for streaming the media data to a server 804 viathe network 803 continuously while recording the media data, or atpredefined time intervals after initiation of the recording of the mediadata, or after completion of the recording of the media data.

The processor 802 of the computer system 901 employed by the mediarecording application 801 retrieves the instructions defined by theinterface definition module 801 a, the detection module 801 b, the mediarecording module 801 c, and the action management module 801 d of themedia recording application 801, and executes the instructions, therebyperforming one or more processes defined by those instructions. At thetime of execution, the instructions stored in the instruction registerare examined to determine the operations to be performed. The processor802 then performs the specified operations. The operations comprisearithmetic operations and logic operations. The operating systemperforms multiple routines for performing a number of tasks required toassign the input devices 907, the output devices 910, and memory forexecution of the modules, for example, 801 a, 801 b, 801 c, 801 d, etc.,of the media recording application 801. The tasks performed by theoperating system comprise, for example, assigning memory to the modules,for example, 801 a, 801 b, 801 c, 801 d, etc., of the media recordingapplication 801, and to data used by the media recording application801, moving data between the memory unit 902 and disk units, andhandling input/output operations. The operating system performs thetasks on request by the operations and after performing the tasks, theoperating system transfers the execution control back to the processor802. The processor 802 continues the execution to obtain one or moreoutputs. The outputs of the execution of the modules, for example, 801a, 801 b, 801 c, 801 d, etc., of the media recording application 801 aredisplayed on the display unit 906 to the user.

For purposes of illustration, the detailed description refers to themedia recording application 801 being run locally on the computer system901; however the scope of the computer implemented method and system 800disclosed herein is not limited to the media recording application 801being run locally on the computer system 901 via the operating systemand the processor 802, but may be extended to run remotely over thenetwork 803 by employing a web browser and a remote server, a mobilephone, or other electronic devices. One or more portions of the computersystem 901 may be distributed across one or more computer systems (notshown) coupled to the network 803.

Disclosed herein is also a computer program product comprising anon-transitory computer readable storage medium that stores computerprogram codes comprising instructions executable by at least oneprocessor 802 for recording media data in one or more communicationmodes based on one or more gestures on the GUI 302 of the electronicdevice 303. As used herein, the term “non-transitory computer readablestorage medium” refers to all computer readable media, for example,non-volatile media such as optical discs or magnetic disks, volatilemedia such as a register memory, a processor cache, etc., andtransmission media such as wires that constitute a system bus coupled tothe processor 802, except for a transitory, propagating signal.

The computer program product disclosed herein comprises a first computerprogram code for defining multiple interface regions 301 on the GUI 302of the electronic device 303; a second computer program code fordetecting one of multiple gestures on one of the defined interfaceregions 301; a third computer program code for performing a first actionassociated with the recording of media data in one of the communicationmodes, on detection of a gesture on one of the defined interface regions301; a fourth computer program code for detecting another gesture on thesame one of the defined interface regions 301 or another one of thedefined interface regions 301; and a fifth computer program code forperforming a second action, in response to the detection of the othergesture on the same one of the defined interface regions 301 or theother one of the defined interface regions 301. The computer programproduct disclosed herein further comprises a sixth computer program codefor triggering recording of the media data; a seventh computer programcode for switching from one communication mode to another communicationmode for recording the media data; an eighth computer program code forcanceling the recording of the media data; and a ninth computer programcode for generating and displaying multiple options for performing anoperation associated with the recorded media data.

In an embodiment, the computer program product disclosed herein furthercomprises a tenth computer program code for associating a predefinedfunction from multiple predefined functions with each of the definedinterface regions 301 on the GUI 302; an eleventh computer program codefor dynamically changing the predefined function associated with one ofthe defined interface regions 301 to another one of the predefinedfunctions based on one or more communication modes and user preferences;and a twelfth computer program code for configuring predefined functionsfor one or more defined interface regions 301 based on the user'spreferences. In an embodiment, the computer program product disclosedherein further comprises a thirteenth computer program code forstreaming the media data to the server 804 via the network 803continuously while recording the media data, or at predefined timeintervals after initiation of the recording of the media data, or aftercompletion of the recording of the media data.

The computer program product disclosed herein further comprises one ormore additional computer program codes for performing additional stepsthat may be required and contemplated for recording the media data inone or more communication modes based on one or more gestures on the GUI302 of the electronic device 303. In an embodiment, a single piece ofcomputer program code comprising computer executable instructionsperforms one or more steps of the computer implemented method disclosedherein for recording the media data in one or more communication modesbased on one or more gestures on the GUI 302 of the electronic device303. The computer program codes comprising the computer executableinstructions are embodied on the non-transitory computer readablestorage medium. The processor 802 of the computer system 901 retrievesthese computer executable instructions and executes them. When thecomputer executable instructions are executed by the processor 802, thecomputer executable instructions cause the processor 802 to perform thesteps of the computer implemented method for recording the media data inone or more communication modes based on one or more gestures on the GUI302 of the electronic device 303.

It will be readily apparent that the various methods, algorithms, andcomputer programs disclosed herein may be implemented on computerreadable media appropriately programmed for computing devices,communication devices, and electronic devices. As used herein, the term“computer readable media” refers to non-transitory computer readablemedia that participate in providing data, for example, instructions thatmay be read by a computer, a processor or a similar device.Non-transitory computer readable media comprise all computer readablemedia, for example, non-volatile media, volatile media, and transmissionmedia, except for a transitory, propagating signal. Non-volatile mediacomprise, for example, optical discs or magnetic disks and otherpersistent memory volatile media including a dynamic random accessmemory (DRAM), which typically constitutes a main memory. Volatile mediacomprise, for example, a register memory, a processor cache, a randomaccess memory (RAM), etc. Transmission media comprise, for example,coaxial cables, copper wire, fiber optic cables, modems, etc., includingwires that constitute a system bus coupled to a processor, etc. Commonforms of computer readable media comprise, for example, a floppy disk, aflexible disk, a hard disk, magnetic tape, a laser disc, a Blu-rayDisc®, any magnetic medium, a compact disc-read only memory (CD-ROM), adigital versatile disc (DVD), any optical medium, a flash memory card,punch cards, paper tape, any other physical medium with patterns ofholes, a random access memory (RAM), a programmable read only memory(PROM), an erasable programmable read only memory (EPROM), anelectrically erasable programmable read only memory (EEPROM), a flashmemory, any other memory chip or cartridge, or any other medium fromwhich a computer can read.

The computer programs that implement the methods and algorithmsdisclosed herein may be stored and transmitted using a variety of media,for example, the computer readable media in a number of manners. In anembodiment, hard-wired circuitry or custom hardware may be used in placeof, or in combination with, software instructions for implementation ofthe processes of various embodiments. Therefore, the embodiments are notlimited to any specific combination of hardware and software. Ingeneral, the computer program codes comprising computer executableinstructions may be implemented in any programming language. Someexamples of programming languages that can be used comprise C, C++, C#,Objective-C, Java®, JavaScript®, Fortran, Ruby, Pascal, Perl®, Python®,Visual Basic®, etc. Other object-oriented, functional, scripting, and/orlogical programming languages may also be used. The computer programcodes or software programs may be stored on or in one or more mediums asobject code. Various aspects of the method and system disclosed hereinmay be implemented as programmed elements, or non-programmed elements,or any suitable combination thereof. The computer program productdisclosed herein comprises computer executable instructions embodied ina non-transitory computer readable storage medium, wherein the computerprogram product comprises one or more computer program codes forimplementing the processes of various embodiments.

The present invention can be configured to work in a network environmentcomprising one or more computers that are in communication with one ormore devices via a network. The computers may communicate with thedevices directly or indirectly, via a wired medium or a wireless mediumsuch as the Internet, a local area network (LAN), a wide area network(WAN) or the Ethernet, a token ring, or via any appropriatecommunications mediums or combination of communications mediums. Each ofthe devices may comprise processors, for example, the Intel® processors,Advanced Micro Devices (AMD®) processors, UltraSPARC® processors, Hp®processors, International Business Machines (IBM®) processors, RISCbased computer processors of ARM Holdings, Motorola® processors, etc.,that are adapted to communicate with the computers. In an embodiment,each of the computers is equipped with a network communication device,for example, a network interface card, a modem, or other networkconnection device suitable for connecting to a network. Each of thecomputers and the devices executes an operating system, for example, theLinux® operating system, the Unix® operating system, any version of theMicrosoft® Windows® operating system, the Mac OS of Apple Inc., the IBM®OS/2, the Palm OS®, the Android® OS, the Blackberry® OS, the Solarisoperating system developed by Sun Microsystems, Inc., or any otheroperating system. Handheld devices execute operating systems, forexample, the Android operating system, the Windows Phone® operatingsystem of Microsoft Corporation, the BlackBerry® operating system ofResearch in Motion Limited, the iOS operating system of Apple Inc., theSymbian® operating system of Symbian Foundation Limited, etc. While theoperating system may differ depending on the type of computer, theoperating system will continue to provide the appropriate communicationsprotocols to establish communication links with the network. Any numberand type of machines may be in communication with the computers. Thepresent invention is not limited to a particular computer systemplatform, processor, operating system, or network. The present inventionis not limited to be executable on any particular system or group ofsystems, and is not limited to any particular distributed architecture,network, or communication protocol.

The foregoing examples have been provided merely for the purpose ofexplanation and are in no way to be construed as limiting of the presentinvention disclosed herein. While the invention has been described withreference to various embodiments, it is understood that the words, whichhave been used herein, are words of description and illustration, ratherthan words of limitation. Further, although the invention has beendescribed herein with reference to particular means, materials, andembodiments, the invention is not intended to be limited to theparticulars disclosed herein; rather, the invention extends to allfunctionally equivalent structures, methods and uses, such as are withinthe scope of the appended claims. Those skilled in the art, having thebenefit of the teachings of this specification, may affect numerousmodifications thereto and changes may be made without departing from thescope and spirit of the invention in its aspects.

I claim:
 1. A computer implemented method for recording media data,comprising: providing a gesture based media recording applicationexecutable by at least one processor configured to manage a graphicaluser interface of an electronic device for said recording of media datain one or more recording modes on said electronic device; defining aplurality of interface regions on said graphical user interface of saidelectronic device by said gesture based media recording application;associating a function of “push to talk (PTT)” recording mode to one ofsaid interface regions, by said gesture based media recordingapplication; detecting a press and hold gesture on said interface regionassociated with said function of “push to talk (PTT)” recording mode, bysaid gesture based media recording application, and starting saidrecording of media data in a “push to talk (PTT)” recording mode; anddynamically assigning to another one of said interface regions, by saidgesture based media recording application, a function of a link toselect a function from amongst a set of options displayed on saidgraphical user interface of said electronic device, wherein said set ofoptions comprise: save said recorded media data as a note; save saidrecorded media data as a draft for a future use of said recorded mediadata; save said recorded media data for sending said recorded media datato another electronic device; send said recorded media data to a friendor another user; delete said recorded media data; post said recordedmedia data on Facebook® of Facebook, Inc; post said recorded media dataon Twitter® of Twitter, Inc; and post said recorded media data on othersocial networking platforms.
 2. The computer implemented method of claim1, further comprising detecting a release gesture on said interfaceregion associated with said function of “push to talk (PTT)” recordingmode, by said gesture based media recording application, and stoppingsaid recording of media data.
 3. The computer implemented method ofclaim 1, further comprising detecting a selection of an option from saidset of options and executing a function associated with said option. 4.The computer implemented method of claim 1, wherein said media datacomprises one of audio data, video data, audiovisual data, image data,multimedia data, and any combination thereof.
 5. A computer implementedsystem for recording media data, comprising: a processor; anon-transitory computer readable storage medium communicatively coupledto said processor, said non-transitory computer readable storage mediumconfigured to store a gesture based media recording application, whereinsaid gesture based media recording application, when executed by saidprocessor, manages a graphical user interface of an electronic devicefor said recording of media data; said gesture based media recordingapplication comprising: an interface definition module configured todefine a plurality of interface regions on said graphical user interfaceof said electronic device; a detection module configured to detectgestures on said defined interface regions; and an action managementmodule configured to execute functions associated with said gestures;said execution of said gesture based media recording applicationcomprising: said defining of said plurality of interface regions on saidgraphical user interface of said electronic device; associating apredefined function of “push to talk (PTT)” recording mode to one ofsaid interface regions; detecting a press and hold gesture on saidinterface region associated with said function of “push to talk (PTT)”recording mode, and starting said recording of media data in a “push totalk (PTT)” recording mode; dynamically assigning to another one of saidinterface regions, by said gesture based media recording application, afunction of a link to select a function from amongst a set of optionsdisplayed on said graphical user interface of said electronic device,wherein said set of options comprise: save said recorded media data as anote; save said recorded media data as a draft for a future use of saidrecorded media data; save said recorded media data for sending saidrecorded media data to another electronic device; send said recordedmedia data to a friend or another user; delete said recorded media data;post said recorded media data on Facebook® of Facebook, Inc; post saidrecorded media data on Twitter® of Twitter, Inc; and post said recordedmedia data on other social networking platforms.
 6. The computerimplemented system of claim 5, wherein said execution of said gesturebased media recording application further comprises detecting a releasegesture on said interface region associated with said function of “pushto talk (PTT)” recording mode, and stopping said recording of mediadata.
 7. The computer implemented system of claim 5, wherein saidexecution of said gesture based media recording application furthercomprises detecting a selection of an option from said set of optionsand executing a function associated with said option.
 8. The computerimplemented system of claim 5, wherein said media data comprises one ofaudio data, video data, audiovisual data, image data, multimedia data,and any combination thereof.